916b506e367df7277efa720a68e61bd36408c903,source/com/intellij/refactoring/typeCook/deductive/resolver/BindingFactory.java,BindingImpl,merge,#Binding#boolean#,518
Before Change
}
public void merge(final Binding b, final boolean removeObject) {
for (final Iterator<PsiTypeVariable> v = b.getBoundVariables().iterator(); v.hasNext();) {
final PsiTypeVariable var = v.next();
final Integer index = new Integer(var.getIndex());
if (myBindings.get(index) != null) {
After Change
}
public void merge(final Binding b, final boolean removeObject) {
for (final PsiTypeVariable var : b.getBoundVariables()) {
final Integer index = new Integer(var.getIndex());
if (myBindings.get(index) != null) {
LOG.error("Oops... Binding conflict...");
}
else {
final PsiType type = b.apply(var);
final PsiClassType javaLangObject =
PsiType.getJavaLangObject(PsiManager.getInstance(myProject), GlobalSearchScope.allScope(myProject));
if (removeObject &&
javaLangObject.equals(type)) {
final HashSet<PsiTypeVariable> cluster = myFactory.getClusterOf(var.getIndex());
if (cluster != null) {
for (final PsiTypeVariable war : cluster) {
final PsiType wtype = b.apply(war);
if (!javaLangObject.equals(wtype)) {